/*
 *    Copyright (c) 2018-2025, boss All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the boss developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: boss
 */

package com.hopes.bizz.packet.hj212.domain.monitor.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hopes.boss.admin.api.resolver.DictResolver;
import com.hopes.boss.admin.api.resolver.enums.AdminDictEnum;
import com.hopes.boss.admin.api.resolver.enums.SysDictEnum;
import com.hopes.boss.common.entity.BaseLogicEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 监控点信息
 *
 * @author pig
 * @date 2023-05-19 13:28:48
 */
@Data
@TableName("poll_monitor_site")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "监控点信息")
public class PollMonitorSiteEntity extends BaseLogicEntity {

    private static final long serialVersionUID = 1L;


	/**
	* id
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="id")
    private Long id;

	/**
	* 监控类型
	*/
    @Schema(description="监控类型")
    private String monitorType;

	/**
	* 监控点名称
	*/
    @Schema(description="监控点名称")
    private String name;

	/**
	* 监控点编号
	*/
    @Schema(description="监控点编号")
    private String code;

	/**
	* 运维企业
	*/
    @Schema(description="运维企业")
    private String operationOrgName;

	/**
	* 排放方式
	*/
    @Schema(description="排放方式")
    private Integer dischargeType;

	/**
	* 排放规律
	*/
    @Schema(description="排放规律")
    private Integer dischargeLaw;

	/**
	* 排放去向
	*/
    @Schema(description="排放去向")
    private String dischargeDirection;

	/**
	* 监控点位置
	*/
    @Schema(description="监控点位置")
    private String monitorLocation;

	/**
	* 经度
	*/
    @Schema(description="经度")
    private String longitude;

	/**
	* 维度
	*/
    @Schema(description="维度")
    private String latitude;

	/**
	* 高度
	*/
    @Schema(description="高度")
    private String altitude;

	/**
	* 是否使用
	*/
    @Schema(description="是否使用")
    private Boolean isUse;

	/**
	* 监测因子名
	*/
    @Schema(description="监测因子名")
    private String monitorFactorNames;

	/**
	* 是否报警
	*/
    @Schema(description="是否报警")
    private Boolean alarmFlag = false;

	/**
	* 是否断网
	*/
    @Schema(description="是否断网")
    private Boolean netFlag = false;

	/**
	* 监控点状态
	*/
    @Schema(description="监控点状态")
    private Integer siteStatus;

	/**
	 * AQI站点标记
	 */
	@Schema(description="AQI站点标记")
	private Boolean aqiFlag;

	/**
	* 监控点图片
	*/
    @Schema(description="监控点图片")
    private String imgFile;

	/**
	* 监控点视频
	*/
    @Schema(description="监控点视频")
    private String videoIds;

	/**
	* 排序号
	*/
    @Schema(description="排序号")
    private Integer sortNum;

	/**
	* 备注
	*/
    @Schema(description="备注")
    private String remarks;

	/**
	* orgId
	*/
    @Schema(description="orgId")
    private Long orgId;

    public String getOrgIdStr() {
    	return DictResolver.getItemLabelByValue(AdminDictEnum.sys_company, this.orgId);
	}

    public String getIsUseStr() {
        return DictResolver.getItemLabelByValue(SysDictEnum.yes_no_type, this.isUse);
    }

    public String getAqiFlagStr() {
    	return DictResolver.getItemLabelByValue(SysDictEnum.yes_no_type, this.getAqiFlag());
	}
}
